home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1994-03-12 | 1.9 KB | 55 lines |
- ' *************************************
- ' * *
- ' * Dual Playfield Demo V1.0 *
- ' * Written by Chris Hodges *
- ' * *
- ' *************************************
- '
- ' Weg mit der Maus!
- Hide On
- ' Zuerst entpacken wir den Hintergrund. Gr��e: 640x200x8.
- ' Der Bereich von (320,0)-(640,200) ist noch leer.
- Unpack 10 To 0 : Screen Hide
- ' Dann den Vordergrund. Gr��e: 640x200x8.
- Unpack 9 To 1 : Screen Hide
- ' Jetzt kopieren wir den Background, damit er cyclic wird.
- Screen Copy 0,0,0,320,200 To 0,320,0
- ' Nun mu� noch die Farbpalette in das erste Playfield kopiert werden.
- For A=0 To 7
- Screen 1 : C=Colour(A)
- Screen 0 : Colour A+8,C
- Next
- ' Damit der Dual Playfield Befehl funktioniert, m�ssen beide Screens
- ' sichtbar sein. Um aber zu verhindern, da� die Screens aufblitzen,
- ' setzen wir die Palette von Screen 1 auf 0 (Screen 1 liegt vorne).
- Screen 1
- For A=0 To 31 : Colour A,0 : Next
- ' Sicherheitshalber werden nun schon die beiden Offsets auf unge-
- ' rade zahlen gesetzt, beide Screens angezeigt und dann mindestens
- ' ein Vertical Bank gewartet (wichtig!).
- Screen Offset 0,1,0
- Screen Offset 1,1,0
- Screen Show 0 : Screen Show 1
- Wait Vbl
- ' Dual Playfield kann nun ohne Probleme gesetzt werden...
- ' Dabei m�ssen wir aber die Priorit�ten vertauschen...
- Dual Playfield 0,1
- Dual Priority 1,0
- ' Variablen initialisieren und scrollen...
- ' Beim Scrollen darf keine der X-Offsets ein Vielfaches von 16 betragen,
- ' das f�hrt dazu, da� das X-Offset des anderen Screens auch auf ein
- ' Vielfaches von 16 beschnitten wird!
- SCRX1=1 : SCRX2=1
- SCRS1=2 : SCRS2=4
- Do
- Screen Offset 0,SCRX1,0
- Screen Offset 1,SCRX2,0
- Wait Vbl
- SCRX1=(SCRX1+SCRS1) mod 320
- If SCRX2+SCRS2>320 or SCRX2+SCRS2<0 Then SCRS2=-SCRS2
- Add SCRX2,SCRS2
- Loop
- End
- ' Ist doch gar nicht so schwer, wenn man die paar Einschr�nkungen beachtet!
- ' Gr��e und Ciao
- ' Chris